-IDENTIFICATION DIVISION
-PROGRAM-ID Damped_Oscillator
-
-ENVIRONMENT DIVISION
-ENGINE Anabrid-THAT
-TIMEBASE 1ms
-REQUIRES COEFFICIENT 5
-REQUIRES INTEGRATOR 2
-REQUIRES INVERTER 1
-REQUIRES SUMMER 2
-
-DATA DIVISION
-OUTPUT OUTPUT.U y
-ALIAS COEFFICIENT.1 InitialPosition
-ALIAS COEFFICIENT.2 InitialSpeed
-ALIAS COEFFICIENT.3 SpringForce
-ALIAS COEFFICIENT.4 Damping # linear to speed
-ALIAS COEFFICIENT.5 Mass # 1 / mass
-
-PROGRAM DIVISION
-# Colors being used for wiring
-# - black: y0
-# - blue: y0’
-# - green: y0’’
-# - yellow: y’’, y’
-# - red: y
--1 -> InitialPosition -> -y0 # -initial position of the mass
--1 -> InitialSpeed -> y0s’ # y’ is scaled to be within -1..+1
-+1, y0s’, y0s’ -> Summer -> y0’
-
-y’’, IC:y0’ -> INTEGRATOR -> -y’
--y’,IC:-y0 -> INTEGRATOR -> y
-y -> SpringForce -> S*y # springforce times displacement
--y’ -> INVERTER -> y’
-y’ -> Damping -> D*y’ # damping times speed
-10:S*y, 10:D*y’ -> SUMMER -> -(Dy’+Sy)
--(Dy’+Sy) -> Mass -> -1/m*(Dy’+Sy)=y’’
-
-OPERATION DIVISION
-MODE REPEAT
-OP-TIME 57ms